home *** CD-ROM | disk | FTP | other *** search
/ Technotools / Technotools (Chestnut CD-ROM)(1993).ISO / lang_c / tlib / tlib.doc next >
Encoding:
Text File  |  1987-08-04  |  15.3 KB  |  463 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.         
  8.         
  9.         
  10.         
  11.         
  12.         
  13.         
  14.         
  15.         
  16.         
  17.         
  18.         
  19.         
  20.         
  21.         
  22.                                      TurboLib
  23.                                          
  24.                                          
  25.                                     Version 1.1
  26.                            Copyright 1987 Bob Pritchett
  27.                                          
  28.                                          
  29.                                          
  30.                                          
  31.                                          
  32.                                          
  33.                                          
  34.                               New Dimension Software
  35.                                  23 Pawtucket Dr.
  36.                               Cherry Hill, NJ  08003
  37.                                   (609) 424-2595
  38.                                          
  39.                                   (609) 354-9259
  40.                                       (Data)
  41.                                          
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74.         
  75.  
  76.         Introduction                                               3
  77.  
  78.             What is TurboLib?                                      3
  79.  
  80.             Why use TurboLib?                                      3
  81.  
  82.         Distribution License                                       3
  83.  
  84.         TurboLib's Features                                        3
  85.  
  86.         Using TurboLib                                             5
  87.  
  88.             About File Names                                       5
  89.  
  90.             Command Line Arguments                                 5
  91.  
  92.             Sample Usage                                           5
  93.  
  94.         How it Works                                               6
  95.  
  96.         Future Enhancements                                        6
  97.  
  98.         Summary                                                    6
  99.  
  100.         
  101.  
  102.         
  103.         
  104.         
  105.         
  106.         
  107.         
  108.         
  109.         
  110.         
  111.         
  112.         
  113.         
  114.         
  115.         
  116.         
  117.         
  118.                                     Disclaimer
  119.                                          
  120.         This application  is provided "AS IS."  No warranty is expressed or
  121.         implied.   Use of  this application  is at the user's own risk, and
  122.         the author  is not  responsible for  any damages or loss of profits
  123.         resulting from the use of the application or its documentation.
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.                             TurboLib V1.1 - Documentation
  137.  
  138.  
  139.                                          
  140.         Introduction
  141.         
  142.         
  143.         What is TurboLib?
  144.         
  145.         TurboLib is  an object code librarian designed specifically to work
  146.         with the  Turbo Link  program provided with Borland International's
  147.         Turbo C  compiler.   It allows  the programmer to place object code
  148.         modules into  a single  library file, manipulate those modules, and
  149.         create a detailed listing of the library's contents.
  150.         
  151.         
  152.         Why use TurboLib?
  153.         
  154.         By keeping  object code  modules  in  a  single  library  file  the
  155.         overhead  required   to   link   programs   is   greatly   reduced.
  156.         Additionally the  object code  modules are easier to manipulate and
  157.         can be grouped into libraries according to type.
  158.         
  159.         The Turbo  C package  does not currently include a library utility,
  160.         and commercially  available alternatives  are expensive  and  often
  161.         needlessly complicated.   The TurboLib librarian is straightforward
  162.         and inexpensively priced shareware.
  163.         
  164.         
  165.         Distribution License
  166.         
  167.         TurboLib is  not public  domain software.   It is distributed under
  168.         the 'shareware'  concept and  may only  be used  under  a  specific
  169.         license.
  170.         
  171.         TurboLib may  be freely  distributed on diskette and Bulletin Board
  172.         Systems provided  that it  is not  modified in any manner, with the
  173.         following exceptions:   TurboLib  may not be sold or distributed by
  174.         any for-profit  organization without the express written permission
  175.         of  New   Dimension  Software.     Non-profit   users  groups   and
  176.         organizations may  distribute TurboLib freely provided that no fee,
  177.         other than reasonable media expenses, is charged.
  178.         
  179.         If you  use  TurboLib  and  find  it  useful,  a  $25  donation  is
  180.         requested.   (If you are using TurboLib in a commercial environment
  181.         the $25 donation is mandatory.)  This will place you on our mailing
  182.         list (for  update notifications,  etc.) and give you a warm feeling
  183.         all over.   If you can't/won't send a donation, a postcard, letter,
  184.         or  the   survey  at   the  end  of  this  documentation  would  be
  185.         appreciated.  (At least let me know you're alive!)
  186.         
  187.         
  188.         TurboLib's Features
  189.         
  190.         TurboLib allows  you to create or convert a library, add modules to
  191.         it, delete modules from it, update modules, extract modules to .OBJ
  192.         files,  and   create  a   detailed  listing   of  modules,   public
  193.  
  194.  
  195.  
  196.         New Dimension Software - 23 Pawtucket Dr. - Cherry Hill, NJ - 08003
  197.                                         - 3 -
  198.  
  199.  
  200.  
  201.  
  202.                             TurboLib V1.1 - Documentation
  203.  
  204.  
  205.         definitions, and other information.  The control-break interrupt is
  206.         trapped, preventing  accidental destruction  of the  library  being
  207.         operated on,  a backup copy of the library is automatically made to
  208.         allow any operation to be 'undone,' and on-line help is provided.
  209.         
  210.         Following is a detailed description of each feature:
  211.         
  212.         Create Library  *  Anytime modules are added to a library that does
  213.         not exists it is created.
  214.         
  215.         Convert Library   *  Anytime an operation (including the generation
  216.         of a  listing file) is performed on a library that is determined to
  217.         be in  the Microsoft  Lib format  the library  is backed  up  in  a
  218.         special file, converted to the TurboLib format in the normal backup
  219.         file, and the operation performed.
  220.         
  221.         Add Modules  *  Object code modules can be added to any library, in
  222.         which case they are appended to the end of the library in the order
  223.         the additionds  is specified.   IMPORTANT!  The module is given the
  224.         name of  the object code module, without its extension.  This is in
  225.         keeping with  the practice  of the Microsoft Librarian utility, and
  226.         assures that  modules are  referencable from  within  the  library.
  227.         (Object code  generated by  MASM  may  not  have  a  specific  name
  228.         internally.   This  action  rectifies  that  problem  assures  that
  229.         different object code modules do not get the same internal name.)
  230.         
  231.         Delete Modules   *   Modules  can be  deleted from  the library, in
  232.         which case their object code is simply erased from the library.
  233.         
  234.         Update Modules   *   Modules may be updated within the library when
  235.         they change.  (In case of a recompile, for example.)
  236.         
  237.         Extract Modules   *   Modules  may be extracted to independent .OBJ
  238.         files, and optionally deleted from the library.
  239.         
  240.         Listing  File     *    A  cross  referenced  index  of  all  public
  241.         declarations and modules contained in the library is generated each
  242.         time  the  librarian  is  run  with  a  library,  unless  otherwise
  243.         specified.   The list  file contains  an alphabetical  index to all
  244.         publics, a list of modules in the order they appear in the library,
  245.         with the  offset and  size of each, and an alphabetical list of the
  246.         publics under the appropriate module.
  247.         
  248.         Fatal Error  Recovery   *   If the program is aborted by a control-
  249.         break or  the occurence  of a  fatal error  the original library is
  250.         restored intact.
  251.         
  252.         Backup Library  *  Before any operations are performed on a library
  253.         it is  backed up  with the  extension .BAK.   (Microsoft LIB format
  254.         libraries are backed up with the extension .MSL, and converted into
  255.         the .BAK  file before  the operations are performed.)  Copying this
  256.         file back  with the  extension .LIB will restore the library to its
  257.         previous status.
  258.         
  259.  
  260.  
  261.  
  262.         New Dimension Software - 23 Pawtucket Dr. - Cherry Hill, NJ - 08003
  263.                                         - 4 -
  264.  
  265.  
  266.  
  267.  
  268.                             TurboLib V1.1 - Documentation
  269.  
  270.  
  271.         On-Line Help   *  TurboLib will provide a short description of each
  272.         function and its usage if invoked with no arguments.
  273.         
  274.         
  275.         Using TurboLib
  276.         
  277.         Currently TurboLib  works only  from the command line.  (See Future
  278.         Enhancements for  more information on other interfaces.)  The first
  279.         command line argument must be the name of the library to work with.
  280.         If no  other arguments  are specified  only a  listing file will be
  281.         generated.   (If no  arguments are  given  at  all  a  quick  usage
  282.         description will be displayed.)
  283.         
  284.         
  285.         About File Names
  286.         
  287.         TurboLib does not need any extensions provided with file names.  It
  288.         assumes .LIB  for libraries, .OBJ for object code modules, .BAK for
  289.         library backups, and .LST for listing files.  All files, except for
  290.         those with  the .OBJ  extension, are  given the  same root and path
  291.         name as  the library  specified.  .OBJ files get the name given for
  292.         the module,  and may  NOT have a path or directory, they must be in
  293.         the current directory.
  294.         
  295.         
  296.         Command Line Arguments
  297.         
  298.         Any number  of arguments  of any  one of the following types may be
  299.         specified after the library name:
  300.         
  301.              /NL       Supress generation of listing file.
  302.         
  303.              *<name>   Extract module  <name> to  .OBJ file.  Do not delete
  304.         from library.
  305.         
  306.              +<name>   Add module <name> to library.
  307.         
  308.              -<name>   Delete module <name> from library.
  309.         
  310.              -*<name>  Extract and delete module <name> from library.
  311.         
  312.              -+<name>  Delete and  add module <name> from/to library.  Used
  313.         to replace a module with a new version of itself, or to move module
  314.         to end of library.
  315.         
  316.         
  317.         Sample Usage
  318.         
  319.         The following are several sample command lines and a description of
  320.         what each does:
  321.         
  322.              TLIB tst +one +two +three +four
  323.         
  324.  
  325.  
  326.  
  327.  
  328.         New Dimension Software - 23 Pawtucket Dr. - Cherry Hill, NJ - 08003
  329.                                         - 5 -
  330.  
  331.  
  332.  
  333.  
  334.                             TurboLib V1.1 - Documentation
  335.  
  336.  
  337.                   This creates  the library  tst.lib if  it does not exist,
  338.         and adds  (new or  not) the  four modules specified, importing them
  339.         from one.obj, two.obj, etc.
  340.         
  341.              TLIB tst *two +five -+one
  342.         
  343.                   The module two is copied into two.obj, the module five is
  344.         added to the end of the library, and module one is deleted from the
  345.         library and  re-imported from  one.obj to  the end  of the library,
  346.         after five.
  347.         
  348.              TLIB tst /NL -*three -four
  349.         
  350.                   The module  three is  extracted to  three.obj and deleted
  351.         from the  library, and  four is  also deleted.   No listing file is
  352.         generated.
  353.         
  354.         
  355.         How it Works
  356.         
  357.         Working completely from a backup copy of the library TurboLib first
  358.         performs all extractions, then all deletions, and finally makes all
  359.         additions at  the end  of the file, assuring that regardless of the
  360.         order of  the command  line arguments  no file  gets deleted before
  361.         being extracted, or added before being deleted.  (If the library is
  362.         in Microsoft  Lib format it is copied to a special backup file with
  363.         the extension  .MSL and  converted to TurboLib's format in the .BAK
  364.         file, which  is then  used as  described above.)   Finally,  unless
  365.         otherwise specified, a listing file is generated.
  366.         
  367.         
  368.         Future Enhancements
  369.         
  370.         There is a lot of potential for a tool such as this, and constantly
  371.         room for improvement.  Version 1.1 is a simple, functional, preview
  372.         of what  is to  come.   'In the  works' is  the ability  to  modify
  373.         identifiers,  list   externals  in  addition  to  publics,  use  an
  374.         interactive interface,  specify  ordering  of  modules  within  the
  375.         library, and much more.
  376.         
  377.         However the  main direction  should be that of the user's interest.
  378.         For that  reason I  need to  hear from  you what  you  think,  what
  379.         features you'd  like to  see, and what you want to do.  Please help
  380.         design this product to fit your needs.
  381.         
  382.         
  383.         Summary
  384.         
  385.         Please play around with TurboLib, decide what you do and don't like
  386.         about it,  and let me know.  I'd love to hear from you, and I'll be
  387.         happy to  try and  answer any  questions you  may  have  about  the
  388.         product.
  389.         
  390.         - Bob Pritchett
  391.  
  392.  
  393.  
  394.         New Dimension Software - 23 Pawtucket Dr. - Cherry Hill, NJ - 08003
  395.                                         - 6 -
  396.  
  397.  
  398.  
  399.  
  400.  
  401.  
  402.  
  403.                                    User Survery
  404.         
  405.         
  406.         Where did you get your copy of TurboLib? __________________________
  407.         
  408.         
  409.         Do you use/plan to use an object code librarian? __________________
  410.         
  411.         
  412.         What do you like about TurboLib? __________________________________
  413.         
  414.         
  415.         What do you not like about TurboLib? ______________________________
  416.         
  417.         
  418.         What languages do you program in? _________________________________
  419.         
  420.         
  421.         What compiler(s)/assembler(s) do you use? _________________________
  422.         
  423.         
  424.         Do you have another object code librarian? ________________________
  425.         
  426.         
  427.         If so, which one? _________________________________________________
  428.         
  429.         
  430.         
  431.             Name: _____________________________________________
  432.         
  433.            Title: _____________________________________________
  434.         
  435.          Company: _____________________________________________
  436.         
  437.          Address: _____________________________________________
  438.         
  439.             City: _________________________  State: ______  Zip: ________
  440.         
  441.            Phone: (____) ____ - ______       Hours: ___________
  442.         
  443.         
  444.              Thank you.
  445.         
  446.         
  447.  
  448.  
  449.  
  450.  
  451.  
  452.  
  453.  
  454.  
  455.  
  456.  
  457.  
  458.  
  459.  
  460.         New Dimension Software - 23 Pawtucket Dr. - Cherry Hill, NJ - 08003
  461.  
  462.  
  463.